package com.punai.customer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punai.common.core.domain.TreeBo;
import com.punai.customer.domain.CusGxChapter;
import com.punai.standard.domain.StaGxChapter;

import java.util.List;

/**
 * 工序分包费用项章节Service接口
 *
 * @author zxw
 * @date 2022-12-09
 */
public interface ICusGxChapterService extends IService<CusGxChapter>
{
    /**
     * 查询工序分包费用项章节
     *
     * @param id 工序分包费用项章节主键
     * @return 工序分包费用项章节
     */
    public CusGxChapter selectDmcGxChapterById(String id);

    /**
     * 查询工序分包费用项章节列表
     *
     * @param dmcGxChapter 工序分包费用项章节
     * @return 工序分包费用项章节集合
     */
    public List<CusGxChapter> selectDmcGxChapterList(CusGxChapter dmcGxChapter);

    /**
     * 新增工序分包费用项章节
     *
     * @param dmcGxChapter 工序分包费用项章节
     * @return 结果
     */
    public int insertDmcGxChapter(CusGxChapter dmcGxChapter);

    /**
     * 修改工序分包费用项章节
     *
     * @param dmcGxChapter 工序分包费用项章节
     * @return 结果
     */
    public int updateDmcGxChapter(CusGxChapter dmcGxChapter);

    /**
     * 删除工序分包费用项章节信息
     *
     * @param id 工序分包费用项章节主键
     * @return 结果
     */
    public int deleteDmcGxChapterById(String id);

    List<TreeBo> treeData(Long companyId);

    List<TreeBo> getSpecialtyList(Long companyId);

    List<TreeBo> treeDataByTopId(String topId, Long companyId);

    public StaGxChapter getStaGxChapterById(String id, String specId, Long companyId);

    void moveTree(String type, String id, String dropId);
}
